// 引入 axios
import axios from "axios"

// 网址 基准
const baseURL = ''

// 创建 axios 实例
const service = axios.create({
    baseURL, // 基准 URL
    timeout: 10000 // 超时时间
})

/* 
    请求拦截
*/
service.interceptors.request.use(config => {
    // 在请求头中添加 token 认证
    const token = sessionStorage.getItem('token')
    if (token) {
        config.headers.Authorization = `Bearer ${token}`
    }
    return config
}, err => {
    // 统一进行错误处理
    console.log('请求发生异常: ', err)
})

/* 
    响应拦截
*/
service.interceptors.response.use(response => {
    if (response.status >= 200 && response.status < 300) {
        const { code, data, message } = response.data
        if (code === 200) {
            return data

        } else {
            return Promise.reject(new Error(message))
        }
    }
}, err => {
    console.log('响应发生异常: ', err)
})

export default service